/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.deployment.dao;

import br.com.deployment.daogenerico.DaoGenerico;
import br.com.deployment.entidade.registroimovel.Folha;
import br.com.deployment.entidade.registroimovel.Livro;
import br.com.deployment.interfaces.FolhaDaoIn;
import java.util.List;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.persistence.NoResultException;
import javax.persistence.Query;

/**
 *
 * @author roniere
 */
@Stateless
@LocalBean
public class FolhaDao extends DaoGenerico<Folha> implements FolhaDaoIn{

    public FolhaDao() {
        super(Folha.class);
    }
    
    public boolean folhaExiste(Integer idFolha, Long idLivro){
        try{
            String sql = "Select f from Livro l JOIN l.folhas f where l.id = :livro "
                    + " and f.numero = :numero";
            Query query = getEm().createQuery(sql);
            query.setParameter("livro", idLivro);
            query.setParameter("numero", idFolha);
            
            if(query.getResultList().size() <= 0){
                return false;
            }
        }catch(NoResultException e){
            return false;
        }catch( NullPointerException e){
            return false;
        }
        return true;
    }
    public List<Folha> getFolhaLivro(Integer idFolha, Long idLivro){
        
            String sql = "Select f from Livro l JOIN l.folhas f where l.id = :livro "
                    + " and f.numero = :numero";
            Query query = getEm().createQuery(sql);
            query.setParameter("livro", idLivro);
            query.setParameter("numero", idFolha);
            
            return query.getResultList();
    }
    
}
